Skip to main content

GST Authentication API - v2

API Description

Objective

The GST Authentication API - v2 authenticates a GSTIN issued by the Goods and Services Tax Network (GSTN) in India, and retrieves the verified business details linked to the provided GSTIN.

info
The Goods and Services Tax Identification Number (GSTIN) is a 15-digit alphanumeric identifier for registered taxpayers in India. Refer to this page for a detailed explanation of how a GSTIN is constructed.
InputOutput
The 15-digit GSTIN numberThe complete business profile including legal name, address details, jurisdiction information, business constitution, registration details, and additional business locations. The complete list of output fields is available in the Success Response Details section

API URL

https://ind-engine.thomas.hyperverge.co/v1/searchGSTINV2

API Endpoint

searchGSTINV2

Overview

The GST Authentication API - v2 is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should send all data in JSON format through a POST request.

Authentication

You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.

API Request Details

Method - POST

Headers

ParameterMandatory or OptionalDescriptionAllowed Values
content-type MandatoryThis parameter defines the media type for the request payloadapplication/json
appId MandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
appKey MandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
transactionIdMandatoryA unique identifier for tracking a user journeyThis should be both unique and easily associated with the user's journey in your application(s)

Input

The following table provides the details of the parameters required for the GST Authentication API - v2's request body:

ParameterMandatory or OptionalDescription Allowed ValuesDefault Value
gstin Mandatory The unique 15-digit alphanumeric GSTIN valueNot ApplicableNot Applicable
formatDateOptionalThis parameter controls the date format in the response. When true, dates are returned as DD-MM-YYYY; when false, as DD/MM/YYYYBoolean valuesNot Applicable
sendAddressListOptionalWhen enabled, this parameter returns the address list in the success response, i.e., the list of all corresponding addresses of the businessyes or nono

Request

The following code snippet demonstrates a standard curl request for the GST Authentication API - v2:

curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/searchGSTINV2' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"gstin": "<Enter_the_GSTIN_Number>",
"formatDate": "<Enter_the_Format_Date>",
"sendAddressList": "<Enter_yes_or_no>"
}'

Success Response

The following code snippet demonstrates a success response from the GST Authentication API - v2:

{
"status": "success",
"statusCode": "200",
"result": {
"code": 200,
"data": {
"gstin": "<GSTIN_Number>",
"pradr": {
"addr": {
"blockName": "<Block_Name>",
"street": "<Street>",
"location": "<Location>",
"doorNumber": "<Door_Number>",
"state": "<State>",
"flatNumber": "<Flat_Number>",
"latitude": "<Latitude>",
"longitude": "<Longitude>",
"district": "<District>",
"pincode": "<Pincode>"
},
"natureOfBusiness": "<Nature_Of_Business>",
"fullAddress": "<Full_Address>"
},
"einvoiceStatus": "<E_Invoice_Status>",
"stateJurisdictionCode": "<State_Jurisdiction_Code>",
"taxpayerType": "<Taxpayer_Type>",
"stateJurisdiction": "<State_Jurisdiction>",
"legalName": "<Legal_Name>",
"additionalPlaceOfBusiness": [
{
"addr": {
"blockName": "<Block_Name>",
"street": "<Street>",
"location": "<Location>",
"doorNumber": "<Door_Number>",
"state": "<State>",
"flatNumber": "<Flat_Number>",
"latitude": "<Latitude>",
"longitude": "<Longitude>",
"district": "<District>",
"pincode": "<Pincode>"
},
"natureOfBusiness": "<Nature_Of_Business>",
"fullAddress": "<Full_Address>"
},
{
"addr": {
"blockName": "<Block_Name>",
"street": "<Street>",
"location": "<Location>",
"doorNumber": "<Door_Number>",
"state": "<State>",
"flatNumber": "<Flat_Number>",
"latitude": "<Latitude>",
"longitude": "<Longitude>",
"district": "<District>",
"pincode": "<Pincode>"
},
"natureOfBusiness": "<Nature_Of_Business>",
"fullAddress": "<Full_Address>"
}
],
"dateOfCancellation": "<Date_Of_Cancellation>",
"natureOfBusinessAtAddress": [
"<Nature_Of_Business>",
"<Nature_Of_Business>",
"<Nature_Of_Business>",
"<Nature_Of_Business>"
],
"lastUpdated": "<Last_Updated_Date>",
"constitutionOfBusiness": "<Constitution_Of_Business>",
"registeredDate": "<Registered_Date>",
"centralJurisdictionCode": "<Central_Jurisdiction_Code>",
"status": "<Status>",
"tradeName": "<Trade_Name>",
"centralJurisdiction": "<Central_Jurisdiction>",
"addressList": [ // returned when sendAddressList is enabled in the request body
"<Address_1>",
"<Address_2>",
"<Address_3>",
"<Address_4>",
"<Address_5>",
"<Address_6>",
"<Address_7>",
"<Address_8>",
"<Address_9>",
"<Address_10>",
"<Address_11>",
"<Address_12>",
"<Address_13>",
"<Address_14>",
"<Address_15>"
]
},
"timestamp": <Timestamp>
},
"metadata": {
"requestId": "<Request_ID>"
}
}

Success Response Details

The following table outlines the details of the success response from the GST Authentication API - v2:

ParameterTypeDescription
statusstringThe status of the request
statusCodestringThe status code of the response
codeintegerThe numeric status code of API response
gstinstringThe GST Identification Number
pradrobjectThe principal address and business details
addrobjectThe address details of the business
blockNamestringThe block name of the business location
streetstringThe street address of the business location
locationstringThe location of the business
doorNumberstringThe door number of the business location
districtstringThe district of the business location
latitudestringThe latitude coordinate of the business location
localitystringThe locality of the business location
pincodestringThe postal code of the business location
landMarkstringThe landmark near the business location
statestringThe state of the business location
geocodelvlstringThe geocode level of the address
flatNumberstringThe flat number of the business location
longitudestringThe longitude coordinate of the business location
natureOfBusinessstringThe nature of business activities at the principal address
fullAddressstringThe complete address of the principal place of business
einvoiceStatusstringThe e-invoice enabled status
stateJurisdictionCodestringThe code for state tax jurisdiction
taxpayerTypestringThe type of taxpayer
stateJurisdictionstringThe name of state tax jurisdiction
legalNamestringThe registered legal name of the business
additionalPlaceOfBusinessarrayThe list of other business locations
dateOfCancellationstringThe GST cancellation date
natureOfBusinessAtAddressarrayThe list of business activities at addresses
lastUpdatedstringThe last update date of the information
constitutionOfBusinessstringThe legal constitution of the business
registeredDatestringThe date of GST registration
centralJurisdictionCodestringThe central tax jurisdiction code
statusstringThe current status of the GST registration
tradeNamestringThe trade or brand name
centralJurisdictionstringThe name of central tax jurisdiction
addressListarrayThe list of multiple addresses related to business
timestampintegerThe timestamp of the response
requestIdstringThe unique identifier for the request

Error Responses

The following are some error responses from the API:

{
"status": "failure",
"statusCode": "400",
"error": "gstin is required",
"metadata": {
"requestId": "<Request_ID>"
}
}

Error Response Details

A failure or error response from the module contains a failure status, with a relevant status code and error message.
The following table lists all error responses:

Status CodeErrorError Description
400gstin is requiredThe request is missing the gstin input or has invalid parameters in the request body
401Missing/Invalid credentialsThe request is either missing the mandatory credentials or has invalid credentials
422Invalid GSTIN patternThe request has an incorrect GSTIN input that is empty, invalid, or does not exist
500Internal Server ErrorThe request has an internal server error. Please check the request headers or contact the HyperVerge team for investigation
504Issue with external serviceThere is an issue with the external service. Please check the request headers or contact the HyperVerge team for investigation
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: